1. Field of the Invention
The invention relates to the Serial Attached SCSI (SAS) data transfer technology protocol. More particularly, the invention relates to methods, devices and system architectures for SAS Zoning management.
2. Description of the Related Art
SCSI refers to the Small Computer Systems Interface set of electronic interface standards that allow various devices to communicate with one another, e.g., computers to communicate with peripheral devices. Serial Attached SCSI (SAS) refers to a point-to-point serial protocol for data transfer technology between computer network storage devices, such as hard drives and tape drives. An SAS domain is an input/output (I/O) system that includes a set or network of SAS devices that communicate with one another.
SAS provides switching capability using (SAS) expanders, which act as switches between SAS initiators (e.g., hosts) and SAS targets (e.g., end devices, such as disk drives), and are fully capable of connecting multiple SAS hosts to multiple SAS end devices. Accordingly, SAS is being explored as a possible mechanism for connecting large groups of targets in various storage area network (SAN) applications, and other applications. Within such SAN applications, the management of SAS domains is a key element to the success of SAS implementation within the network systems that make up the SAS domains.
In general, an SAS initiator device directs information to an SAS target device through ports of one or more SAS expanders in the SAS domain. A port can include one or more physical links, or phys, in an SAS domain. A port can use a single phy or, if the port is configured as a wide port, can use multiple phys logically grouped to provide higher bandwidth.
The SAS specifications presently support zoning capabilities within an SAS domain. SAS zoning is implemented by one or more (typically a set of) zoning expanders that cooperate to define the zoned service delivery subsystem (ZSDS). The zoning expanders, i.e., SAS expanders with zoning capabilities, control whether a phy is permitted to open a connection to or participate in a connection with another phy. Such control determines whether two SAS devices attached to the SAS zoning expander through the phys are able to communicate. Such communication is important for sharing storage resources among multiple servers, including the ability to prevent servers from connecting to other servers and associated storage devices of the other servers.
SAS zoning expanders and phys are assigned zone groups. A zone group is a set of phys in a zoned portion of a service delivery subsystem (ZPSDS) that can have the same access permissions. A zoned portion of a service delivery subsystem (ZPSDS) is a group of zoning expander devices that cooperate to control access between phys. When SAS exchanges are routed through SAS zoning expanders, the SAS zoning expanders may verify that the phys (e.g., the SAS devices coupled to the phys) are permitted to participate in the connection. Also, the SAS zoning expanders may deny the connection if the phys are not permitted to participate in the connection.
Conventionally, applications designed to manage SAS zoning allow each phy on the edge of the ZPSDS to be assigned into a zone group, then allow permissions to be established and assigned for the zone groups to communicate with one another. Such a relatively direct SAS zoning approach often poses several problems for the management application.
For example, application administrators typically think about visibility among devices, such as to which target devices a particular initiator device should have access. Such approach is analogous to Fiber Channel (FC) World Wide Name (WWN) based zoning, and most often is used in dynamic topologies where changes sometimes may occur. Also, application administrators sometimes think in terms of connectors or ports, such as to what other connectors should devices attached to a particular connector have access. Such approach is analogous to Fiber Channel (FC) Port based zoning, and most often is used in static topologies. Sometimes application administrators want to implement a specific strategy, such as preventing access by a first SAS device to another SAS device. In all of these cases, conventionally, the SAS zoning application has to deconstruct the zoning requirements, i.e., break down the device or connector model to the phy level, to be able to map phys into zone groups and then to assign zone group permissions.
Moreover, all of the target devices in the SAS domain are not always attached directly to the ZPSDS. Therefore, target devices sometimes are forced to share a common ZPSDS entry point associated with the same zone group. When this occurs, the SAS zoning application must bundle target devices together based on their ZPSDS attachment points to see if zoning requirements can be realized on a particular topology before breaking down the device or connector model to the phy level to map phys into zone groups and assign zone group permissions.